﻿namespace CamlQueryCreator.Common
{
    /// <summary>
    /// Основной элемент CAML-запроса для сортировки результатов.
    /// </summary>
    public sealed class CamlOrderMainElement : CamlOrderElement
    {
        /// <summary>
        /// Основной элемент CAML-запроса для сортировки результатов.
        /// <para>Конструктор.</para>
        /// </summary>
        internal CamlOrderMainElement(CamlBuilder parentBuilder, IListFieldInfoBase fieldInfo, bool isAscending)
            : base(parentBuilder, fieldInfo.Name, isAscending)
        {
        }

        /// <summary>
        /// Основной элемент CAML-запроса для сортировки результатов.
        /// <para>Конструктор.</para>
        /// </summary>
        internal CamlOrderMainElement(CamlBuilder parentBuilder, string fieldName, bool isAscending)
            : base(parentBuilder, fieldName, isAscending)
        {
        }

        #region Overrides of CamlBase

        protected override string GetQuery(string childQuery)
        {
            return string.Format("<OrderBy>{0}{1}</OrderBy>", GetRefFieldQuery(), childQuery);
        }

        #endregion
    }
}
